int *twoOutOfThree(int *nums1, int nums1Size, int *nums2, int nums2Size, int *nums3, int nums3Size, int *returnSize)
{
    int cnt[3][101];
    int idx = 0;
    int *res = (int *)malloc(sizeof(int) * 101);
    memset(cnt, 0, sizeof(cnt));
    //记录数组出现的元素
    for (int i = 0; i < nums1Size; i++)
    {
        cnt[0][nums1[i]] = 1;
    }
    for (int i = 0; i < nums2Size; i++)
    {
        cnt[1][nums2[i]] = 1;
    }
    for (int i = 0; i < nums3Size; i++)
    {
        cnt[2][nums3[i]] = 1;
    }

    //同时在两个数组中存在, 输出到结果中
    for (int i = 0; i < 101; i++)
    {
        if (cnt[0][i] + cnt[1][i] + cnt[2][i] >= 2)
        {
            res[idx++] = i;
        }
    }
    *returnSize = idx;
    return res;
}
